package com.zzw.basic.classloader;

import java.lang.annotation.Annotation;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.util.Arrays;

@SuppressWarnings(value = "unchecked")
@Deprecated
@Anno
public class ClassTest {
	
	private ClassTest(){
		
	}
	
	public ClassTest(String name){
	}
	
	public void info(){
	}
	
	public void info(String str){
	}
	
	class Inner{
		
	}
	
	public static void main(String[] args) throws Exception, SecurityException {
		Class<ClassTest> clazz = ClassTest.class;
		
		Constructor[] ctors = clazz.getDeclaredConstructors();
		for(Constructor c:ctors){
			System.out.println(c);
		}
		
		Constructor[] publicCtors = clazz.getConstructors();
		for(Constructor c:publicCtors){
			System.out.println(c);
		}
		
		Method[] mtds = clazz.getMethods();
		for(Method md:mtds){
			System.out.println(md);
		}
		
		Annotation[] anns = clazz.getAnnotations();
		for(Annotation an:anns){
			System.out.println(an);
		}
		
		
		Class<?>[] inners = clazz.getDeclaredClasses();
		
		for(Class c:inners){
			System.out.println(c);
		}
		
	}
}
